Within the store, split the persistent information regarding a VM from the
transient information regarding a domain. This allows live localhost migration,
which is important for testing migration, and also allows migration when we
have a distributed store. The backend paths in the store now refer to the
frontend domain ID, not its UUID, and blktap has changed to match.
To support this split in the information, the cleanup procedure has been split
to match.
Change the save-restore interface between XendDomain, XendDomainInfo, and
XendCheckpoint, to remove some intermingling, in particular taking XendDomain
out of the loop for the restore procedure.
Improved the recovery procedure to avoid trying to destroy dom0 when recovering.
Added a lock around XendDomain.refresh and one around
XendDomainInfo.refreshShutdown, to improve the behaviour when recreating
domains at startup. There are still races here, so more thought needs to be
given to the locking.
Live reconfiguration of an existing domain is temporarily broken.
Signed-off-by: Ewan Mellor <ewan@xensource.com>